home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / comms / other / slrn / slrn_src / src / makefile.w32 < prev    next >
Makefile  |  1999-05-14  |  5KB  |  126 lines

  1. # Watcom Makefile for slrn                               -*- sh -*-
  2. # For CYGWIN32 or MINGW32, use Makefile.g32.
  3. #
  4. # 1997, March 01, bjf: Added all necessary (and probably some unnecessay)
  5. #                      dependencies to the $(OBJDIR)/*$(O) targets.
  6. #
  7. #
  8. #---------------------------------------------------------------------------
  9. # This file is divided into five configurable sections.  The last section
  10. # is optional: Section 5 deals with setting up slrn to read the server name
  11. # from a file. This is probably unnecessary on OS/2.
  12.  
  13. #-----------------------------------------------------------------------------
  14. # 1. Choose a C compiler.  It must understand prototypes.
  15. #-----------------------------------------------------------------------------
  16. CC = wcl386
  17. #CC = gcc -g -Zcrtdll -Zmt -DOS2 -D__os2__#
  18.  
  19. #-----------------------------------------------------------------------------
  20. # 2. On a few systems, additional libraries are required.
  21. #-----------------------------------------------------------------------------
  22. #MISCLIBS = -lsocket -ltermcap -lvideo# OS/2
  23. MISCLIBS = $(SLIBDIR)\wslang32.lib -lwinspool
  24.  
  25. #-----------------------------------------------------------------------------
  26. # 3. Directory where the slang library, slanglib.a, is located.
  27. #    BUILD SLANG FIRST!!!!  If you do not have it, get it from the same place
  28. #    you picked up slrn.  The current home is space.mit.edu:/pub/davis/slang.
  29. #-----------------------------------------------------------------------------
  30. SDIR = ..\..\slang\src#                  Location of slang.h
  31. SLIBDIR = $(SDIR)\w32objs#               Location of libslang.a
  32.  
  33. #-----------------------------------------------------------------------------
  34. # 4. Location where object files are placed.
  35. #-----------------------------------------------------------------------------
  36. OBJDIR = objs#
  37.  
  38. #-----------------------------------------------------------------------------
  39. # 5. If you want to read the server from a file, uncomment the following
  40. #    lines and edit it as appropriate.  See INSTALL for more information.
  41. #    It is also possible to provide defaults for other variables such as the
  42. #    HOSTNAME, etc...  by editing the slrnfeat.h file.  Again, read INSTALL.
  43. #-----------------------------------------------------------------------------
  44. #NNTPSERVERFILE = -DNNTPSERVER_FILE=\"/usr/local/lib/news/nntp_server\"
  45. #SLRNLIBDIR = -DSLRN_LIB_DIR=\"/usr/local/lib/news\"
  46. #SLRNLIBDIR = -DSLRN_LIB_DIR=\"$(HOME)/lib/slrn\"
  47.  
  48. #----------------------------------------------------------------------------
  49. # Nothing below here should require changing.
  50. #----------------------------------------------------------------------------
  51.  
  52. P = \#
  53. O = .obj
  54.  
  55. OBJS = $(OBJDIR)$(P)art$(O) \
  56.        $(OBJDIR)$(P)chmap$(O) \
  57.        $(OBJDIR)$(P)editscore$(O) \
  58.        $(OBJDIR)$(P)group$(O) \
  59.        $(OBJDIR)$(P)hash$(O) \
  60.        $(OBJDIR)$(P)help$(O) \
  61.        $(OBJDIR)$(P)interp$(O) \
  62.        $(OBJDIR)$(P)menu$(O) \
  63.        $(OBJDIR)$(P)mime$(O) \
  64.        $(OBJDIR)$(P)misc$(O) \
  65.        $(OBJDIR)$(P)post$(O) \
  66.        $(OBJDIR)$(P)score$(O) \
  67.        $(OBJDIR)$(P)server$(O) \
  68.        $(OBJDIR)$(P)slrn$(O) \
  69.        $(OBJDIR)$(P)sortdate$(O) \
  70.        $(OBJDIR)$(P)startup$(O) \
  71.        $(OBJDIR)$(P)ttymsg$(O) \
  72.        $(OBJDIR)$(P)util$(O) \
  73.        $(OBJDIR)$(P)uudecode$(O) \
  74.        $(OBJDIR)$(P)slrndir$(O) \
  75.        $(OBJDIR)$(P)version$(O) \
  76.        $(OBJDIR)$(P)print$(O) \
  77.        $(OBJDIR)$(P)xover$(O)
  78.  
  79. OBJSpull = \
  80.     $(OBJDIR)$(P)version$(O) \
  81.     $(OBJDIR)$(P)util$(O) \
  82.     $(OBJDIR)$(P)ttymsg$(O) \
  83.     $(OBJDIR)$(P)slrnpull$(O) \
  84.     $(OBJDIR)$(P)sltcp$(O) \
  85.     $(OBJDIR)$(P)slrndir$(O) \
  86.     $(OBJDIR)$(P)nntplib$(O)
  87.  
  88. DEBUG =
  89. CFLAGS = $(DEBUG) /bt=nt /ort /DWIN32 -I. -I$(SDIR) $(SLRNLIBDIR)
  90. LDFLAGS = /l=nt
  91.  
  92. .c.obj: .AUTODEPEND
  93.     $(CC) $(CFLAGS) /c $< /fo=$@
  94.  
  95. slrn.exe: $(OBJDIR) config.h slangversion $(OBJS)
  96.     $(CC) $(CFLAGS) $(LDFLAGS) /fe=$@ $(OBJS) $(MISCLIBS)
  97.  
  98. slrn.lnk: $(__MAKEFILES__)
  99.     %create $^@
  100.     for %i in ($(OBJS)) do %append $^@ FILE %i
  101.  
  102. slrnpull.exe: $(OBJDIR) config.h slangversion $(OBJSpull)
  103.     $(CC) $(CFLAGS) $(LDFLAGS) /fe=$@ $(OBJSpull) $(MISCLIBS)
  104.  
  105. uudecode.exe: uudecode.c
  106.     $(CC) $(CFLAGS) -DSTANDALONE -o uudecode.exe uudecode.c
  107.     touch uudecode.c
  108.  
  109. $(OBJDIR):
  110.     @mkdir $(OBJDIR)
  111.  
  112. config.h: slrnconf.h
  113.     copy slrnconf.h config.h
  114.  
  115. slangversion: $(OBJDIR)\chkslang.exe .SYMBOLIC
  116.     .\$(OBJDIR)\chkslang.exe slrn 10003
  117.  
  118. $(OBJDIR)\chkslang.exe: $(OBJDIR)\chkslang$(O)
  119.     $(CC) $(OBJDIR)\chkslang$(O) /fe=$(OBJDIR)\chkslang.exe
  120.  
  121. $(OBJDIR)\chkslang$(O): chkslang.c config.h jdmacros.h
  122.     $(CC) -c -I$(SDIR) chkslang.c /fo=$(OBJDIR)\chkslang$(O)
  123. clean:
  124.     rm -rf *$(O) *~ $(OBJDIR) slrn.exe uudecode.exe *.log \
  125.     core out out.* typescript files.pck* config.h
  126.